﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;

namespace NetDon.OA.Interface.Common
{
    public interface IGoodsTravelDaysConfigService
    {
        void AppendGoodsTravelDaysConfig(Guid areaId, Guid routeTypeId, string deliveryCity, string province,
                                         decimal? unitCost = 0, decimal? revenueUnitCost = 0);
        bool AddGoodsTravelDaysConfig(GoodsTravelDaysConfigData goodsTravelDaysConfigData);

        bool ModifyGoodsTravelDaysConfig(GoodsTravelDaysConfigData goodsTravelDaysConfigData);

        bool RemoveGoodsTravelDaysConfig(Guid goodsTravelDaysConfigId);

        GoodsTravelDaysConfigData GetGoodsTravelDaysConfigById(Guid goodsTravelDaysConfigId);

        List<GoodsTravelDaysConfigData> GetGoodsTravelDaysConfigs();



        bool CheckGoodsTravelDaysConfigExists(Guid id, Guid routeType, string city, Guid areaId);

        int GetGoodsTravelDaysConfigCount(GoodsTravelDaysConfigSearchCriteria criteria);

        IEnumerable<GoodsTravelDaysConfigData> SearchGoodsTravelDaysConfigDatasByCondition(GoodsTravelDaysConfigSearchCriteria criteria,
                                       string sortExpression, SortDirection sortDirection, int pageSize, int pageIndex);

        GoodsTravelDaysConfigData GetGoodsTravelDaysConfigDatasByCondition(GoodsTravelDaysConfigSearchCriteria criteria);


        GoodsTravelDaysConfigData GetGoodsTravelDaysConfigDatasByCondition(IEnumerable<IssuingOrderDeliveryData> issuingOrderDeliveries,
                                                      IssuingOrderData issuingOrderData);
    }
}

